package com.fourth.dao;

import com.fourth.entity.Orders;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

//@Mapper
public interface OrdersMapper {


    /**
     * 根据用户id和订单状态oStatus分类查询显示订单
     * @param oUserId   用户id
     * @param oStatus   订单状态
     * @return
     */
    List<Orders> selectOStatusOrders(@Param("oUserId") Integer oUserId, @Param("oStatus") Integer oStatus);


    /**
     * 根据订单号修改修改订单状态---》取消订单2
     * @param oNo
     * @return
     */
    Integer updateOStatusOrders(String oNo);


    /**
     * 根据订单号查询订单信息
     * @param oNo
     * @return
     */
    List<Orders> selectOrdersByONo(String oNo);

    /**
     * 根据订单号查询订单信息
     * @param oNo
     * @return
     */
    Orders selectOrderByONo(String oNo);


    /**
     * 未支付订单已过期 改变状态3已过期
     * @param oNo 订单编号
     * @return
     */
    Integer updateOrdersByoNo(String oNo);


    /**
     *  定时器任务，进行轮训查询订单时间差   （diffTime）
     * @return
     */
    List<Orders> selectExpireOrders();




    int insertOrder(@Param("orders") Orders orders);

    int delAllCartByUid(@Param("uId")Integer uId);


    /**
     * 支付成功后更改订单状态
     * @param oNo
     * @return
     */
    int changOrderStatus( String oNo);


    int insertOrderAndAddress(@Param("oAddress")Integer oAddress, @Param("oNo")String oNo);

    List<Orders> selectOrdersByUid(Integer uId);

}
